package com.zykj.state.stateinfo;

import com.zykj.state.GumballMachine;
import com.zykj.state.State;

/**
 * @author zhoulj(周利军) [1217102780@qq.com]
 * @Module ID:   <(模块)类编号，可以引用系统设计中的类编号>
 * @Comments: <对此类的描述，可以引用系统设计中的描述>
 * @JDK version used:      <JDK1.8> 17
 * @since 2019/1/8-16:17
 */
public class SoldState implements State {

    GumballMachine gumballMachine;
    public SoldState(GumballMachine gumballMachine) {
        this.gumballMachine= gumballMachine;
    }


    @Override
    public void insertMoney() {
        System.out.println("等待.. 不能再投币  不恰当操作");
    }

    @Override
    public void ejectMoney() {
        System.out.println("已经处理.. 不能退钱  不恰当操作");
    }

    @Override
    public void turnCrank() {
        System.out.println("等待.. 不能转转盘  不恰当操作");
    }

    @Override
    public void dispense() {
        //TODO 糖果分发》》 这里分发操作统一交给糖果机器了 糖果机器对糖果数量进行计数
        gumballMachine.releaseBall();
        if (gumballMachine.getCount() > 0) {
            gumballMachine.setState(gumballMachine.getNoQuarterState());

        }else {
            System.out.println("发放糖果完毕，糖果售罄");
            gumballMachine.setState(gumballMachine.getSoldOutuarterState());
        }
    }
}
